<?php
class Alipay
{

    public function zhifu($data)
    {
        require_once("alipay.config.php");
        require_once("lib/alipay_submit.class.php");

        /**************************请求参数**************************/

        //商户订单号，商户网站订单系统中唯一订单号，必填
        $out_trade_no = $data['out_trade_no'];

        //订单名称，必填
        $subject = $data['product'];

        //付款金额，必填
        $total_fee = $data['total_fee'];

        //收银台页面上，商品展示的超链接，必填
        $show_url = $data['show_url'];

        //商品描述，可空
        $body = $data['body'];



        /************************************************************/

//构造要请求的参数数组，无需改动
        $parameter = array(
            "service"       => $alipay_config['service'],
            "partner"       => $alipay_config['partner'],
            "seller_id"  => $alipay_config['seller_id'],
            "payment_type"	=> $alipay_config['payment_type'],
            "notify_url"	=> $data['notify_url'],
            "return_url"	=> $data['return_url'],
            "_input_charset"	=> trim(strtolower($alipay_config['input_charset'])),
            "out_trade_no"	=> $out_trade_no,
            "subject"	=> $subject,
            "total_fee"	=> $total_fee,
            "show_url"	=> $show_url,
            "body"	=> $body,
            //其他业务参数根据在线开发文档，添加参数.文档地址:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.2Z6TSk&treeId=60&articleId=103693&docType=1
            //如"参数名"	=> "参数值"   注：上一个参数末尾需要“,”逗号。

        );
//建立请求
        $alipaySubmit = new AlipaySubmit($alipay_config);
        $html_text = $alipaySubmit->buildRequestForm($parameter,"get", "确认");
        echo $html_text;

    }

    public function get_notify()
    {
        require_once("alipay.config.php");
        require_once("lib/alipay_notify.class.php");
        //计算得出通知验证结果
        $alipayNotify = new AlipayNotify($alipay_config);
        $verify_result = $alipayNotify->verifyNotify();
        if ($verify_result) {//验证成功
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //请在这里加上商户的业务逻辑程序代码

            //——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
            //获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表

            //商户订单号

//             $out_trade_no = $_GET['out_trade_no'];

//             //支付宝交易号

//             $trade_no = $_GET['trade_no'];

//             //交易状态
//             $trade_status = $_GET['trade_status'];


//             if ($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
//                 //判断该笔订单是否在商户网站中已经做过处理
//                 //如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
//                 //如果有做过处理，不执行商户的业务程序
//             } else {
//                 echo "trade_status=" . $_GET['trade_status'];
//             }

            return $verify_result;
            //——请根据您的业务逻辑来编写程序（以上代码仅作参考）——

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        } else {
            //验证失败
            //如要调试，请看alipay_notify.php页面的verifyReturn函数
            return false;
        }
    }
}
